Skip to main content

Full text of "USPTO Patents Application 09867748"

See other formats


Requested Patent: WO9401821A1 
Title: 

SECURE COMPUTER NETWORK USING TRUSTED PATH SUBSYSTEM WHICH 
ENCRYPTS/DECRYPTS AND COMMUNICATES WITH USER THROUGH LOCAL 
WORKSTATION USER I/O DEVICES WITHOUT UTILIZING WORKSTATION 
PROCESSOR ; 

Abstracted Patent: US55967 1 8 ; 

Publication Date: 1997-01-21 ; 

Inventor(s): 

BOEBERT WILLIAM E (US); HANSON MARK H (US); MARKHAM THOMAS R (US) ; 

Applicants): SECURE COMPUTING CORP (US) ; 

Application Number: US1992091 1900 19920710 ; 

Priority Number(s): US1 992091 1900 19920710 ; 

IPC Classification: G06F15/17 ; 

Equivalents: AU4672693, AU663406, EP0649546 (WO9401 821 ) t JP7509086T ; 

ABSTRACT: 

A method and apparatus for ensuring secure communication over an unsecured 
communications medium between a user working on an unsecured workstation or computer and 
a host computer. A secure user interface is created by inserting a trusted path subsystem 
between input/output devices to the workstation and the workstation itself. Data transferred from 
the input/output devices is intercepted, encrypted and transmitted in packets to the host 
computer. Packets of screen display data from the host computer are decrypted and presented 
within a user-defined screen overlay. 



per 



WORLD INTELLECTUAL PROPERTY ORGANIZATION 
International Bureau 




INTERNATIONAL APPLICATION PUBLISHED UNDER THE. PATENT COOPERATION TREATY (PCT) 



(51) International Patent Classification 5 

G06F 12/14, 1/00 



Al 



(11) International Publication Number: WO 94/01821 

(43) International Publication Date: 20 January 1994 (20.0 1 .94) 



(21) International Application Number: PCT/US93/065 1 1 

(22) International Filing Date : 9 July 1 993 (09.07.93) 



(30) Priority data: 
07/911,900 



10 July 1992(10.07.92) 



US 



(71) Applicant: SECURE COMPUTING CORPORATION 

[US/US]; 2675 Long Lake Road, Roseville, MN 
55113-2536 (US). 

(72) Inventors: BOEBERT, William, E. ; 4915 DuPont Avenue 

South, Minneapolis, MN 55409 (US). HANSON, Mark, 
H. ; 3560 Baltic Avenue, Eagan, MN 55122 (US). MAR- 
KHAM, Thomas, R. ; 709 River Lane, Anoka, MN 
55303 (US). 



(74) Agent: BRUESS, Steven, C; Merchant, Gould, Smith, 
Edell, Welter & Schmidt, 3100 Norwest Center, 90 South 
Seventh Street, Minneapolis, MN 55402 (US). 



(81) Designated States: AT, AU, BB, BG, BR, BY, CA, CH, 
CZ, DE f DK, ES, FI, GB, HU, JP, KP, KR, KZ, LK, 
LU, MG, MN, MW, NL, NO, NZ, PL, PT, RO, RU, 
SD, SE, SK, UA, VN, European patent (AT, BE, CH, 
DE, DK, ES, FR, GB, GR, IE, IT, LU, MC, NL, PT, 
SE), OAPI patent (BF, BJ, CF, CG, CI, CM, GA, GN, 
ML, MR, NE, SN, TD, TG). 



Published 

With international search report. 

Before the expiration of the time limit for amending the 
claims and to be republished in the event of the receipt of 
amendments. 



(54) Title: TRUSTED PATH SUBSYSTEM FOR WORKSTATIONS 



(57) Abstract 



MULTILEVEL 

SECURE 
COMPUTER 



A method and apparatus for ensuring secure com- 
munication over an unsecured communications medium 
between a user working on an unsecured workstation or 
computer and a host computer. A secure user interface is 
created by inserting a trusted path subsystem between in- 
put/output devices to the workstation and the workstation 
itself. Data transferred from the input/output devices is 
intercepted, encrypted and transmitted in packets to the 
host computer. Packets of screen display data from the 
host computer are decrypted and presented within a user- 
defined screen overlay. 



r— DISPLAY 



KEYBOARD 



46 



ft 



^CF 



CRYPTOGRAPHIC 
ENTITY 



TRUSTED PATH 
SUBSYSTEM 



,1° 

,30 

-35 

y 



WORKSTATION 
PROCESSING 

UNrr 




So 

f 



i TRUSTED i 
I SUBSYSTEM > 


! /OWPTOGRAPHIC\| 
, ^ ENTITY J*"* 




i 




i 


| UNTRUSTED i 
i SUBSYSTEM 1 








V " 

60 




-69 
-87 

"63 



FOR THE PURPOSES OF INFORMATION ONLY 



Codes used to identify States party to the PCT on the front pages of pamphlets publishing international 
applications under the PCT. 



AT 


Austria 


AU 


Australia 


BB 


Barbados 


BE 


Belgium 


BF 


Burkina Faso 


BG 


Bulgaria 


BJ 


Benin 


BR 


Brazil 


BV 


Belarus 


CA 


Canada 


CF 


Central African Republic 


CC 


Conga 


CH 


Switzerland 


ci 


Cote d'lvoire 


CM 


Cameroon 


CN 


China 


cs 


Czechoslovakia 


cz 


Czech Republic 


DB 


Germany 


DK 


Denmark 


es 


Spain 


Fl 


Finland 



FR 


France 


CA 


Gabon 


CB 


United Kingdom 


CN 


Guinea 


CR 


Greece 


HU 


Hungary 


IB 


Ireland 


IT 


Italy 


JP 


Japan 


KP 


Democratic People's Republic 




or Korea 


KR 


Republic of Korea 


KZ 


Kazakhstan 


LI 


Liechtenstein 


LK 


Sri Lanka 


LU 


Luxembourg 


LV 


Latvia 


MC 


Monaco 


MC 


Madagascar 


ML 


Mali 


MN 


Mongolia 



MR 


Mauritania 


MW 


Malawi 


NB 


Niger 


NL 


Netherlands • 


NO 


Norway 


NZ 


New Zealand 


PL 


Poland 


PT 


Portugal 


RO 


Romania . 


RU 


Russian Federation 


SD 


Sudan 


se 


Sweden 


SI 


Slovenia 


SK 


Slovak Republic 


SN 


Senegal 


TO 


Chad 


TC 


Togo 


UA 


Ukraine 


US 


United Slates of America 


UZ 


Uzbekistan 


VN 


Vict Nam 



WO 94/01821 PCT/US93/065U 

1 

TRUSTED PATH SUBSYSTEM FOR WORKSTATIONS 

5 Background of the Invention 

Field of the Invention 

The present invention relates to an apparatus 
and method for providing a trusted computer system based 
on untrusted computers, and more particularly to an 
10 apparatus and method for providing a trusted path 
mechanism between a user node based on an untrusted 
computer or workstation and a trusted subsystem. 



Background Information 

15 Advances in computer and communications 

technology have increased the free flow of information 
within networked computer systems . While a boon to 
many r such a free flow of information can be disastrous 
to those systems which process sensitive or classified 

20 information. In response to this threat, trusted 

computing systems have been proposed for limiting access 
to classified information to those who have a sufficient 
level of clearance. Such systems depend on identifying 
the user, authenticating (through password, biometrics, 

25 etc.) the user's identity and limiting that user's 

access to files to those files over which he or she has 
access rights. In addition, a trusted path mechanism is 
provided which guarantees that a communication path 
established between the Trusted Computer Base (TCB) and 

30 the user cannot be emulated or listened to by malicious 
hardware or software. Such a system is described in 
U.S. Patent Nos. 4,621,321; 4,713,753; and 4,701,840 
granted to Boebert et al. and assigned to the present 
assignee, the entire disclosures of which are hereby 

35 incorporated by reference. 

The last decade has marked a shift in the 
distributing of computational resources. Instead of 
connecting a large number of relatively "dumb" terminals 
to a mainframe computer, the automatic data processing 



WO 94/01821 PCIYUS93/06511 

~ 2 

environment has gradually shifted to where a large 
number of current systems are file server systems. In a 
file server system, relatively low cost computers are 
placed at each user's desk while printers and high 
5 capacity data storage devices are located near the 
server or servers. Files stored in the high capacity 
data storage devices are transferred to the user's 
computer for processing and then either saved in local 
storage or transferred back to the storage devices. 

10 Documents to be printed are transferred as files to a 

print server; the print server then manages the printing 
of the document. 

An even more loosely coupled distributed 
computing approach is based on the client-server 

15 paradigm. Under the client-server paradigm, one or more 
client processes operating on a user's workstation gain 
access to one or more server processes operating on the 
network. As in file server systems, the client 
processes handle the user interface while the server 

20 processes handle storage and printing of files. In 

contrast with file server systems, however, the client 
processes and the server processes share data processing 
responsibilities. A more complete discussion of 
distributed computing is contained in "Client-Server 

25 Computing" by Alok Sinha, published in the July 1992 
issue of Communications of the ACM. 

Both the file server and the client-server 
paradigms depend heavily upon the availability of low- 
cost computer systems which can be placed at each user's 

30 desk. The low-cost systems are then connected through a 
network such as a LAN or a WAN to the server systems . 
Such a networked system is illustrated in the block 
diagram shown in Fig. 1. 

In Fig. 1, a workstation processing unit 40 is 

35 connected through a network 50 to a host computer 60. 

Workstation unit 40 is also connected through video port 



WO 94/01821 



PCT/US93/06511 



— 3 

44 and keyboard port 46 to display unit 10 and keyboard 
20, respectively. 

In a typical distributed computer system, the 
workstations 40, the host computers 60 and the 
5 connecting networks 50 are all at great risk of a 

security breach. Trusted computer systems based on host 
computers such as the Multilevel Secure (MLS) Computer 
60 shown in Fig. 1 make security breaches at the host 
computer more difficult by partitioning the system to 

10 isolate security critical (trusted) subsystems from 
nonsecurity critical (untrusted) subsystems. Such 
computers do little, however, to prevent security 
breaches on network 50 or at user workstation 40. 

A Multi-Level Secure (MLS) Computer such as is 

15 shown in Fig. 1 is capable of recognizing data of 

varying sensitivity and users of varying authorizations 
and ensuring that users gain access to only that data to 
which they are authorized. For example, an MLS computer 
can recognize the difference between company proprietary 

20 and public data. It can also distinguish between users 
who are company employees and those who are customers. 
The MLS computer can therefore be used to ensure that 
company proprietary data is available only to users who 
are company employees. 

25 Designers of MLS computers assume that 

unauthorized individuals will use a variety of means, 
such as malicious code and active and passive wiretaps, 
to circumvent its controls. The trusted subsystem of an 
MLS computer must therefore be designed to withstand 

30 malicious software executing on the untrusted subsystem, 
to confine the actions of malicious software and render 
them harmless . One mechanism for avoiding malicious 
software is to invoke a trusted path, a secure 
communications path between the user and the trusted 

35 subsystem. A properly designed trusted path ensures 

that information viewed or sent to the trusted subsystem 
is not copied or modified along the way. 



WO 94/01821 



PCT/US93/06511 



— 4 

Extension of the trusted path through the network to the 
user is, however, difficult. As is described in a 
previously filed, commonly owned U.S. patent application 
entitled "Secure Computer Interface" (U.S. Patent 
5 Application No. 07/676,885 filed March 28, 1991 by 
William £ . Boebert), "active" and "passive" network 
attacks can be used to breach network security. Active 
attacks are those in which masquerading "imposter" 
hardware or software is inserted into the network 

10 communications link. For example, hardware might be 
inserted that emulates a user with extensive access 
privileges in order to access sensitive information . 
"Passive" network attacks include those in which a 
device listens to data on the link, copies that data and 

15 sends it to another user. A system for ensuring secure 
data communications over an unsecured network is 
described in the above-identified patent application. 
That application is hereby incorporated by reference. 

Active and passive attacks can also be used to 

20 breach computer security through software running on an 
untrusted user computer, an untrusted host or in the 
untrusted subsystem of a Multilevel Secure Computer. 
For example, malicious software running in the 
workstation could present itself to an authorized user 

25 as the trusted subsystem, and cause that user to enter 
highly sensitive data, such as a password. The data is 
then captured and given to the attacker. Under a 
passive software attack, data which is intended for one 
user could be copied and sent to a user who is not 

30 authorized to work with it. 

Systems for ensuring secure communications over 
an unsecured network have been limited to date to 
scrambling devices which encrypt data written to the 
network and decrypt data received from the network. 

35 Such systems are limited in that they provide no 

assurance that the user's computer is secure or that the 
user has, in fact, established a trusted path to the 



WO 94/01821 



PCT/US93/065I1 



— 5 

trusted subsystem. Therefore, despite the fact that the 
communications link is secure, it is possible for a user 
on the computer to be misled into believing that a 
program executing on his computer is actually running on 
5 the host computer. 

What is needed is a mechanism for extending the 
trusted path from the trusted subsystem of the host 
computer to the user of an untrusted computer or 
workstation. Such a method should provide access to the 
10 workstation for normal workstation activities while 

shielding confidential data so that it cannot be read by 
software executing on the unsecured workstation. 

Summary of the Invention 

15 The present invention provides a method and 

apparatus for ensuring secure communication over an 
unsecured communications medium between a user working 
on an unsecured workstation or computer and a host 
computer. A secure user interface is created by 

20 inserting a trusted path subsystem between input /output 
devices to the workstation and the workstation itself. 
Data transferred from the input /output devices is 
intercepted, encrypted and transmitted in packets to the 
host computer. Packets of screen display data from the 

25 host computer are decrypted and presented within a user- 
defined screen overlay. 

According to another aspect of the present 
invention, a method is disclosed for ensuring secure 
file transfers between an unsecured workstation and a 

30 host computer. A file to be transferred is downloaded 
to a trusted path subsystem inserted between the 
workstation and its keyboard and display device. The 
trusted path subsystem presents a representation of the 
file on the display device where the user can verify 

35 that the file is as expected. The verified file is then 
encrypted and transferred as packets to the host 
computer . 



WO 94/01821 PCT/US93/0651 1 



5 



Brief Description of the Drawings 
FIG. 1 is a system level block diagram 
representation of a networked computer system. 

FIG. 2 is a system level block diagram 
representation of a secure networked computer system 
according to the present invention. 

10 FIG. 3 is a block diagram representation of a 

user node including a trusted path subsystem according 
to the present invention. 

FIG. 4 is a block diagram representation of a 
15 user node including a different embodiment of a trusted 
path subsystem according to the present invention. 

FIG. 5 is an electrical block diagram 
representation of one embodiment of the trusted path 
20 subsystem according to the present invention. 

FIG. 6 is a representation of a secure window 
overlay according to the present invention. 

25 Detailed Description of the 

Preferred Embodiments 

In the following Detailed Description of the 

Preferred Embodiments/ reference is made to the 

accompanying Drawings which form a part hereof , and in 

30 which are shown by way of illustration specific 

embodiments in which the invention may be practiced. It 
is to be understood that other embodiments may be 
utilized and structural changes may be made without 
departing from the scope of the present invention. 

35 The present invention provides a method and 

apparatus for ensuring secure communication over an 
unsecured communications medium between a user working 
on an unsecured workstation or computer and a host 



WO 94/01821 



PCT/US93/06511 



computer. A secure user interface is created by 
inserting a trusted path subsystem between input /output 
devices to the workstation and the workstation itself. 
Data transferred from the input /output devices is 
5 intercepted, encrypted and transmitted in packets 

through the workstation to the host computer. Packets 
of screen display data from the host computer are 
decrypted and presented within a user-defined screen 
overlay. 

10 Cryptographic entities in the trusted path 

subsystem and the host computer apply end-to-end 
encryption to confidential data transferred to and from 
the network. End-to-end encryption is a technique 
whereby data is encrypted as close to its source as 

15 possible and decrypted only at its ultimate destination. 
This technique differs from link encryption, in which 
data is decrypted, then encrypted again as it moves from 
the sender to the receiver. 

The present invention extends the notion of 

20 end-to-end encryption by performing the 

encryption/decryption closer to the originator and 
receiver than prior systems. In the present invention, 
the encrypt ion/decrypt ion is performed as the data 
enters and leaves the input /output device. The data is 

25 therefore protected from malicious software which might 
be operating on the workstation and from active or 
passive attacks on the network. 

A secure networked computer system constructed 
according to the present invention is illustrated 

30 generally in Fig. 2. In Fig. 2, a workstation 

processing unit 40 is connected through a network 50 to 
a host computer 60. Workstation 40 can be any computer, 
workstation or X terminal which has a separate data path 
for communication between a trusted path subsystem 30 

35 and the workstation. For instance, workstation 40 can 
be a commercially available workstation such as the UNIX 
workstations manufactured by Sun Microsystems, Mountain 



WO 94/01821 PCT/US93/06511 

- 8 

View, California, an IBM PC compatible such as those 
available from Compaq, Houston, Texas or an X terminal 
such as Model NCD19g from Network Computing Devices, 
Inc, Mountain View, California. 
5 Trusted path subsystem 30 is connected to 

workstation 40 (through auxiliary data port 42), 
keyboard 20 and display 10- Trusted path subsystem 30 
includes cryptographic entity 35 for encrypting and 
decrypting information transferred between display 10, 

10 keyboard 20 and workstation 40. 

Host computer 60 is a Multi-Level Secure 
computer which includes a trusted subsystem 67 and an 
untrusted subsystem 63* Trusted subsystem 67 includes a 
cryptographic entity 69 for encrypting and decrypting 

15 data transferred between trusted subsystem 67, untrusted 
subsystem 63, and network 50. In another embodiment of 
the present invention, host computer 60 is a computer 
running a trusted subsystem software package. In that 
embodiment, cryptographic entity 69 would be implemented 

20 in software. 

In the embodiment shown in Fig. 2, all 
communication between trusted path subsystem 30 and host 
computer 60 is done via workstation 40. In one such 
embodiment, auxiliary data port 42 is an RS-232 line 

25 connecting workstation 40 and subsystem 30 . 

Communications software running on workstation 40 
receives encrypted packets from the trusted path 
subsystem and sends them to the host computer. In a 
like manner, encrypted packets from host computer 60 are 

30 received by workstation 40 and transferred to subsystem 
30 for decrypting. This type of interface is 
advantageous since a standard communications protocol 
can be defined for transfers between subsystem 30 and 
host computer 60. Workstation 40 then implements the 

35 standard protocol for the communications media 
connecting it to host computer 60. 



WO 94/01821 



PCT/US93/06511 



Network 50 can be implemented in a wide range 
of communications protocols , from FDDI to a simple 
telecommunications line between two modems. In a 
network implementation, subsystem 30 provides only the 
5 encrypted file; workstation 40 provides the layers of 
protocol needed for reliable communication on network 
50. 

Fig, 3 provides more detail of trusted path 
subsystem 30. Trusted path subsystem 30 consists of a 

10 processor 31 connected to a keyboard manager 37, a video 
manager 38 and cryptographic entity 35. Trusted path 
subsystem 30 operates in normal mode and in trusted path 
mode. When in normal mode, workstation trusted path 
subsystem 30 is transparent to workstation 40. Logical 

15 switches 37 and 38 are in the UP position, connecting 
workstation processor 40 directly to keyboard 20 and 
display 10. This permits the free transfer of 
information from keyboard 20 to workstation 40 and from 
workstation 40 to display 10. In normal mode, 

20 workstation processor 40 runs software and communicates 
with host computer 60 via network 50. 

When the user invokes trusted path mode, 
however, workstation processor 40 is disconnected from 
keyboard 20 and display 10 by logical switches 37 and 

25 38, respectively. Keyboard 20 and display 10 are then 
connected to their respective managers in workstation 
trusted path subsystem 30. 

As is shown in Fig. 6, while in trusted path 
mode, video manager 34 creates a trusted window 82 which 

30 is overlaid on the screen display 80 generated by 
workstation 40 for display 10. Since window 82 is 
created outside of workstation 40, by trusted elements, 
it is not possible for malicious software in workstation 
40 to control any of the video in trusted window 82. In 

35 the preferred embodiment the size of trusted window 82 
can vary; if sufficient video RAM is present, window 82 
may be as large as the entire display screen. 



WO 94/01821 



PCT/US93/06511 



10 

In a like manner, while in trusted path mode, 
keyboard manager 36 intercepts keyboard data intended 
for workstation 40 . The data is then routed to 
cryptographic entity 35, where it is encrypted before 
5 being passed over auxiliary port 42 to workstation 

processing unit 40. Thus, keyboard inputs are protected 
from eavesdropping and undetected modification until 
they are decrypted by cryptographic entity 69 on host 
computer 60. 

10 In one embodiment of the trusted path subsystem 

of Fig. 3, cryptographic entity 35 uses a pair-wise key 
to encrypt data to be transmitted from keyboard 20 to 
host computer 60. At the same time, cryptographic 
entity 35 decrypts data transmitted from host computer 

15 60 to display 10. The encryption and integrity 

mechanisms protect the data from eavesdropping and 
undetected modification as it is passed through 
workstation processor 40, network 50 and host computer 
untrusted subsystem 63. Other types of symmetric 

20 encryption algorithms such as the Data Encryption 

Standard (DES) and asymmetric cryptographic techniques 
such as public key can also be used. Furthermore , the 
encryption algorithm can either be implemented in 
software, programmable hardware, or custom hardware. 

25 Trusted path mode can be invoked in a number of 

ways. In one embodiment, a switch on trusted path 
subsystem 30 can be used to manually activate trusted 
path mode. A second method would be to invoke trusted 
path mode by a combination of keys pressed 

30 simultaneously on keyboard 20 (like the 

control/alt/delete key sequence on a PC-compatible 
computer). A third embodiment would require that the 
user insert some sort of token device into subsystem 30. 
A token device might range from a smart card to a 

35 cryptoignition key. In the preferred embodiment, 

subsystem 30 would also have a feedback mechanism such 



WO 94/01821 



PCT/US93/06511 



— 11 

as a light to notify the user that subsystem 30 was in 
trusted path mode. 

The trusted path mode f used in conjunction with 
cryptographic entity 69 on host computer 60, provides 
5 security services such as user authentication, data 
confidentiality, data integrity and data origin 
authentication and confinement of malicious software. 
The user is authenticated to trusted path subsystem 30 
and this authentication is securely passed to trusted 

10 subsystem 67 in MLS computer 60. Data passed between 
cryptographic entities 35 and 69 is protected from 
unauthorized disclosure and undetected modification. 
Cryptographic entities 35 and 69 also assure that the 
data was sent from one cryptographic entity to its peer 

15 cryptographic device. In addition, malicious software 
on workstation 40, network 50 or untrusted subsystem 63 
is confined so that it cannot dupe the user or trusted 
subsystem 67 into performing an insecure action. 

The user can be authenticated to the trusted 

20 computing system by either authenticating himself 
directly to trusted path subsystem 30 or by going 
through subsystem 30 to host computer 60. In the first 
method, the user can authenticate himself to subsystem 
30 via such means as a personal identification number 

25 (PIN), a password, biometrics or a token device such as 
a smart card or a cryptographic ignition key. Once the 
user has authenticated himself to subsystem 30, 
subsystem 30 relays the authentication to trusted 
subsystem 65. The step of relaying authentication can 

30 be done by either automatically entering trusted path 
mode as part of the authentication process or by having 
subsystem 30 relay the authentication data at a later 
time. 

A second method for authenticating a user would 
35 be to first enter trusted path mode and then 

authenticate the user directly to host computer 60. 



WO 94/01821 



PCT/US93/06511 



— 12 

This approach would reduce the processing power needed 
on subsystem 30. 

In its simplest form, trusted path subsystem 
30, in conjunction with workstation 40, display 10 and 
5 keyboard 20, forms an assured terminal. Data typed on 
keyboard 20 or extracted from a pointing device such as 
a mouse is encrypted and transferred over network 50 to 
host computer 60. Screen display data transferred from 
host computer 60 is decrypted and displayed within 

10 trusted window 82. Such a terminal might be implemented 
as a relatively dumb terminal such as a VT100, or it 
could be implemented as a X Windows terminal. The X 
Window embodiment would be useful since it would allow 
the creation of multiple trusted windows 82 and would 

15 permit the assigning of a different security level to 
each window. Such a mechanism would permit qualified 
users to cut information from a document of one 
sensitivity and paste it into a document of a different 
sensitivity. 

20 An assured terminal is especially useful in an 

environment where you are trying to maintain a number of 
security levels despite having a workstation which will 
only operate at one level. An example is a trusted 
computing system mixing single level secure workstations 

25 with a multi-level computer with three security levels: 
unclassified (least sensitive), secret (much more 
sensitive), and top secret (most sensitive). Trusted 
path subsystem 30 can be used to expand the capabilities 
of the single level workstation since subsystem 30 

30 allows the user to essentially disable subsystem 30, do 
all his work at the level permitted by the workstation 
(say, secret) using all the capabilities of his 
workstation and whatever facilities are available on the 
multilevel computer. Then, if the user has a small 

35 amount of work that he or she needs to do at top secret, 
the user can invoke trusted mode in subsystem 30, 
isolate their workstation, its processor memory and 



WO 94/01821 



PCT/US93/06511 



— 13 < . 

storage devices, and he has, in effect, a keyboard and a 
terminal connected to a secure communications device 
through a multilevel host. The user can then do the 
operations required at top secret. 
5 The cryptographic techniques applied in 

subsystem 30 will ensure that none of the top secret 
information going to or from the multilevel secure 
computer is linked to files within workstation 40 or is 
captured and copied on the network. 

10 Likewise, if a user had to do a small amount of 

unclassified work, he could put the workstation into 
trusted path mode using subsystem 30. The user could, 
through a trusted path, invoke an unclassified level and 
again the cryptographic techniques applied at each end 

15 of the link would prevent secret information from being 
mixed in with the unclassified information. The system 
essentially provides a pipe to keep data from one 
security level from being mixed into data at a different 
security level. 

20 Trusted subsystem 30 is not, however, limited 

to a role as an assured terminal. In a file server 
application, files stored at host computer 60 or within 
workstation 40 could be transferred to subsystem 30 for 
data processing tasks such as editing, reviewing the 

25 file or transferring it as electronic mail. In a client 
server application, processor 31 could execute one or 
more client processes such as an editor or a 
communications process . Software and firmware which 
could be implemented inside trusted path subsystem 30 

30 would be limited only by the amount of storage within 
subsystem 30 and the review and approval process 
required to provide clean software. 

Trusted path subsystem 30 has access not only 
to files on host computer 60 but also on workstation 40. 

35 Files transferred from either computer 60 or workstation 
40 can be manipulated and transferred to other computers 
or workstations. For example, a secure electronic mail 



WO 94/01821 



PCT/US93/065I1 



14 • . 

system could be implemented in which trusted path 
subsystem 30 is used for reviewing, reclassifying, and 
electronically signing messages. A document file from 
computer 60 or workstation 40 can be displayed and 
5 reviewed. If appropriate, the user may downgrade its 
sensitivity level by attaching a different security 
level to the document. The finished file can then be 
sent via electronic mail to other users . 

In one embodiment of such an electronic mail 

10 function, subsystem 30 would go out on the network to 
the directory server to retrieve the names, electronic 
mail addresses and public key information of the 
intended recipients. The directory server could be 
implemented as either a trusted or an unt rusted process 

15 on host computer 60 or on another network computer. 
Subsystem 30 would then attach the addresses to the 
file, affix a digital signature, encrypt the final 
product and send it through host computer 60 to the 
designated addresses. 

20 In another embodiment of such a function, in a 

system without a MLS computer, secure electronic mail is 
possible by first establishing a trusted path from the 
user to processor 31. The user then accesses files of 
workstation 40 (or on other network computers), displays 

25 and reviews the file, accesses an unsecured directory 
server to retrieve the names, electronic mail addresses 
and public key information and sends the encrypted 
message via electronic mail to its recipient. 

Processor 31 can also be used to control video 

30 manager 34 in order to implement and control the user 
interface. Such an approach would permit the use of a 
graphical user interface (GUI) within trusted window 82 
that would reduce the amount of screen information 
transferred by host computer 60. This approach also 

35 permits the user to implement, through processor 31, 

multiple trusted windows 82 at the user node in order to 
perform the cut-and-paste function referred to above. 



WO 94/01821 



PCT/US93/06511 



~ 15 

In the preferred embodiment, subsystem 30 is a 
modular design in which processor 31 and cryptographic 
entity 35 are kept constant and video manager 34 and 
keyboard manager 36 are designed so that they can be 
5 replaced easily to handle different displays and 

keyboards. In one embodiment, subsystem 30 is designed 
to be portable. A portaible subsystem 30 can be used to 
turn any modem equipped computer with the requisite 
auxiliary data port into a secure data terminal or 
10 computer. 

Fig. 4 is a block diagram representation of an 
alternate embodiment of trusted path subsystem 30. In 
Fig. 4, processor 31 is connected through network 
interface 39 to network 50 and through communication 

15 port 48 to workstation 40. In the embodiment shown in 
Fig. 4, workstation processing unit 40 is isolated from 
the network. This approach allows the encryption of all 
network traffic associated with the user node. In the 
embodiment shown in Fig. 4, communication port 48 can be 

20 a communication medium ranging from RS0232 to an 
unsecured Ethernet. 

A more detailed representation of one 
embodiment of trusted path subsystem 30 is shown in Fig. 
5. In Fig. 5, keyboard logical switch 37 receives data 

25 from keyboard 20 and routes it to processor 31. During 
normal mode, processor 31 then sends the received 
keyboard data directly over keyboard port 46 to 
workstation 40. 

In contrast, in trusted path mode, processor 31 

30 captures the received keyboard data and sends it to 

cryptographic entity 35 for encrypting. No information 
is sent over keyboard port 46 to workstation 40. The 
resulting encrypted keyboard data is instead sent 
through auxiliary data port 42 to workstation 40 and 

35 from there to computer 60. 

Video data from workstation 40 is transmitted 
from video port 44 to video manager 34. During normal 



WO 94/01821 PCT/US93/06S1 1 

— 16 

mode, the video data is sent through to display 10 
without modification. During trusted path mode, 
however, the video data transferred from video port 44 
is overlaid, at least in some part, by video data 
5 generated by video manager 34 . 

A representative video manager 34 is shown 
generally in Fig. 5. Video manager 34 consists of video 
synchronization hardware 72, video RAM 74, video driver 
78 and video multiplexer 76. Video synchronization 

10 hardware 72 receives synchronization signals from video 
port 44 and uses the signals to coordinate the display 
of data from video RAM 74 with the display generated by 
workstation 40. During normal mode data from video RAM 
74 is not used; video is transferred directly from 

15 workstation 40 through video multiplexer 76 to display 
10. When, however, trusted path subsystem 30 is placed 
into trusted path mode, video data stored in video RAM 
74 is used instead of the normal video stream to create 
trusted window 82. 

20 In one embodiment synchronization hardware 72 

uses the synchronization signals received from 
workstation 40 to control the reading of data from video 
RAM 74 and the conversion of that data into a video 
signal by video driver 78. The output of video driver 

25 78 is then used to drive video multiplexer 76. 

Synchronization hardware 72 controls video multiplexer 
76 in order to switch between the video generated by 
workstation 40 and the video being read from video RAM 
74. The output of video multiplexer 76 is driven 

30 through video amplifiers to display 10. 

The design of the video hardware needed to 
overlay one display on top of another is well known in 
the art. Window 82 can be synched up to the video going 
to display 10* Typically, if window 82 is not full 

35 screen, video synchronization hardware 72 counts the 
number of lines to the first line of window 82, counts 
in the number of pixels, and inserts the video at that 



WO 94/01821 



PCT/US93/06511 



— 17 

point. Trusted path video data is then written for the 
desired number of pixels and video multiplexer 7G is 
switched back to normal video for the remainder of the 
video line. This mechanism provides flexibility in 
5 placement and sizing of window 82 on screen 80. 

Video multiplexer 76 can be built using a 
crosspoint video switch such as the MAX456 manufactured 
by Maxim Integrated Products . Video data to and from 
the crosspoint video switch can be buffered using the 

10 MAX457 by Maxim Integrated Products. Video RAM 74 can 
be any commercial video RAM. A typical video RAM is the 
MT42C8256 manufactured by Micron Technologies Inc. It 
should be obvious that the given design can be easily 
adapted for either a color or a black and white display 

15 or even for a black and white overlay of a color 
display . 

In one embodiment, host computer 60 transmits, 
as encrypted packets, video data to be displayed within 
trusted window 82. The encrypted packets are passed to 

20 processor 31 by workstation 40 and then on to encryption 
device 35. Encryption entity 35 decrypts the video data 
and places it into video RAM 74. Synchronization 
hardware 72 then activates video multiplexer 76 and 
video RAM 74 in order to display the decrypted secure 

25 video data. 

In a second embodiment (not shown), processor 
31 creates the video overlay data and writes that data 
to video RAM 74. Display of the data is as above. 

A trusted computing system based on unsecured, 

30 commercially available, workstations, trusted path 

subsystems and multilevel secure computers provides a 
powerful, highly secure computing environment. The 
ability of such a system to compensate for unsecured 
workstations allows the designers of such systems to use 

35 the latest versions of commercially available hardware 
and software without compromising the security of the 
system. 



WO 94/01821 PCT/US93/0651 1 

18 

For instance, a user of a workstation may wish 
to edit a secret document and reclassify the edited 
document as unclassified. The document can be loaded 
into the workstation, edited with the user's favorite 
5 word processing software package, and saved. Then, in 
order to classify the document as unclassified, the user 
would invoke trusted path mode, the trusted window would 
be displayed and the user could review the revised 
document to verify that no additional information had 

10 been attached to the file. The reviewed document could 
then be released as an unclassified document and the 
user would then returns to normal mode. 

The unique placement of cryptographic entity 35 
relative to workstation 40 allows a single workstation 

15 to be used at different levels of security sensitivity. 
Therefore, instead of systems in which a workstation is 
required for each level of security sensitivity, in the 
present system a single commercial workstation may be 
used to protect and access a range of security levels. 

20 Finally/ the end-to-end characteristic of the 

encryption permits secure communication without the need 
to perform costly analysis of complex elements such as 
network controllers. The invention also allows use of 
commercial off-the-shelf workstations and network 

25 components and can be used with a variety of keyboards 
and displays. 

Although the present invention has been 
described with reference to the preferred embodiments, 
those skilled in the art will recognize that changes may 

30 be made in form and detail without departing from the 
spirit and scope of the invention. 



WO 94/01821 



19 



PCT/US93/06511 



What is claimed is: 
1. A secure computing network, comprising: 

a network computer, wherein the computer comprises 
a trusted subsystem; and 
5 encryption means for encrypting and 

decrypting data transferred to and from the 
trusted subsystem; 
communications means, connected to the network 
computer, for permitting data transfer between the 
10 network computer and other computers; 
an input /output device; 
a workstation comprising: 

first communications interface means, 
connected to the communications means, for 
15 transferring data between the workstation and 

the network computer; 

input/output device interface means for 
transferring data between the workstation and 
the input /output device; and 
20 second communications means for 

transferring data between the workstation and 
another processor; and 
trusted path means, inserted between the 
input/output device and the input /output device 
25 interface means and connected to the second 

communications means, for intercepting data transfers 
between the input /output device interface means and the 
input /output device, wherein the trusted path means 
comprises encryption means for encrypting and decrypting 
30 the data transfers and for routing such transfers over 
the second communications means to the trusted 
subsystem . 

2. The secure computing network of claim 1 wherein the 
35 network computer is a multilevel secure computer capable 
of recognizing data of varying sensitivity and users of 
varying authorizations • 



WO 94/01821 



20 



PCT/US93/06511 



3- The secure computing network of claim 1 wherein the 
input/output device comprises a keyboard. 

5 4. The secure computing network of claim 1 wherein the 
input /output device comprises a display device. 

5. The secure computing network of claim 1 wherein the 
input/output device comprises a pointing device. 

10 

6. A secure computing network , comprising: 

a network computer, wherein the computer comprises 
a trusted subsystem; and 
encryption means for encrypting and 
15 decrypting data transferred to and from the 

trusted subsystem; 
communications means, connected to the network 
computer, for permitting data transfer between the 
network computer and other computers; 
20 an input /output device; 

a workstation comprising: 

input /output device interface means for 
transferring data between the workstation and 
the input / output device ; and 
25 workstation communications means for 

transferring data between the workstation and 
another processor; and 
trusted path means, inserted between the 
input/output device and the input /output device 
30 interface means and connected to the workstation 

communications means, for intercepting data transfers 
between the input/output device interface means and the 
input/output device, wherein the trusted path means 
comprises encryption means for encrypting and decrypting 
35 the data transfers and network interface means, 

connected to the communication means, for transferring 



WO 94/01821 



PCT/US93/06511 



— 21 

the encrypted data transfers between the trusted path 
means and the trusted subsystem. 

7 . The secure computing network of claim 6 wherein the 
5 network computer is a multilevel secure computer capable 
of recognizing data of varying sensitivity and users of 
varying authorizations. 

8 . The secure computing network of claim 6 wherein the 
10 input/output device comprises a keyboard. 

9 . The secure computing network of claim 6 wherein the 
input/output device comprises a display device. 

15 10. The secure computing network of claim 6 wherein the 
input /output device comprises a pointing device. 

11. A trusted path subsystem capable of being connected 
between an input /output device and a processor of a 

20 workstation in order to provide secure communication 

with a multilevel secure computer network server, the 

subsystem comprising: 

input/output manager means for selectively 

intercepting, under user control, data transferred from 
25 the input/output device to the processor and from the 

processor to the input /output device; 

encryption means for encrypting the intercepted data 

before transferring the encrypted data to the processor; 

and 

30 decryption means for decrypting the intercepted data 

before transferring the decrypted data to the 
input /output device. 

12. The trusted path subsystem according to claim 11 
35 wherein the input/output manager means comprises 

keyboard manager logic, wherein the keyboard manager 
logic comprises: 



WO 94/01821 



PCT/US93/06511 



a keyboard interface which captures information 
generated by a keyboard; and 

processing means for transferring the captured 
information to a workstation processor, wherein the 
5 processing means transfers the captured information on a 
first path when in a first mode and on a second path 
when in a second mode. 

13- The trusted path subsystem according to claim 11 
10 wherein the input/output manager means comprises a video 
manager which can be used to generate a trusted window 
overlay on a video screen, wherein the video manager 
comprises : 

a video multiplexer having first and second input 
15 ports and an output port, wherein the first input port 
can be connected to an external video signal and wherein 
the output port can be connected to a video display; 

a video data memory; 

converter means, connected to the video data memory 
20 and the second multiplexer input port, for converting 
data read from the video data memory into a trusted 
video signal representative of that data and for 
applying the trusted video signal to the second video 
multiplexer input port; and 
25 video synchronization means, connected to the video 

data memory and the video multiplexer, for controlling 
the video data memory and the video multiplexer so as to 
insert the trusted video signal into the video signal 
generated at the video multiplexer output port. 

30 

14. A method of securely transferring data in a network 
comprising an unsecured workstation connected to a 
multilevel secure computer server, wherein the 
workstation comprises a processor and an input/output 
35 device and wherein the multilevel secure server 

comprises a trusted subsystem and encryption means for 
encrypting and decrypting data transferred to and from 



WO 94/01821 



PCT/US93/06511 



the trusted subsystem, the method comprising the steps 
of: 

providing trusted path means for providing a user 
selectable secure communications path between the 
5 input /output device and the trusted subsystem; and 
inserting the trusted path means between the 
input /output device and the processor. 

15. A method for providing secure file transfer 

10 capability on an unsecured workstation connected over a 
network to a second computer, wherein the workstation 
comprises a workstation processor and an input/output 
device and wherein the second computer comprises a 
trusted subsystem and encryption means for encrypting 
15 and decrypting data transferred to and from the trusted 
subsystem, the method comprising the steps of: 

providing means for creating a trusted path between 
the input /output device and a trusted subsystem, said 
trusted path means including a trusted processor capable 
20 of executing a secure electronic mail program; 

inserting the trusted path means between the 
input /output device and the workstation processor; 

downloading from the workstation processor to the 
trusted processor a file to be transferred to the second 
25 computer; 

displaying, on the input /output device, a 
representation of the file to be transferred; 

if the file is as expected, transferring the file to 
the second computer; and 
30 if the file is not as expected, generating an error 

message. 

16. The method according to claim 15 wherein the step of 
generating an error includes allowing secured processing 

35 on the file. 



WO 94/01821 PCT/US93/06511 



MULTILEVEL 

SECURE 
COMPUTER 




KEYBOARD 



44 



20 



46 



WORKSTATION 
PROCESSING 
UNIT 



L 



42 



AUXILIARY 
DATA 
PORT 



— — — — — — — — — n 

TRUSTED 
SUBSYSTEM 



i - 

r 



:;;_t;;;; 



UNTRUSTED 
SUBSYSTEM 



65 



~-63 




60 



FIG. 1 

PRIOR ART 



WO 94/01821 



2/6 



PCT/US93/06511 



DISPLAY 



KEYBOARD 



46 



ft 



CRYPTOGRAPHIC 
ENTITY 



TRUSTED PATH 
SUBSYSTEM 



.10 

20 

30 
35 

42 

V 



WORKSTATION 
PROCESSING 
UNIT 



MULT1LEVEL 

SECURE 
COMPUTER 



TRUSTED 
SUBSYSTEM 

CRYPTOGRAPHIC 
ENTTTY 




i , ' 



UNTRUSTED 
SUBSYSTEM 




69 



67 



63 



FIG. 2 



WO 94/01821 a / G PCT/US93/06511 



4/6 




WO 94/01821 



5/6 



PCT/US93/06511 



44 



42 

1 



20 



30 



/ 



VIDEO DATA r-^ 



76 



72 



VIDEO 
SYNCHRONIZATION 
HARDWARE 



CONTROL 



CONTROL 



74 



VIDEO 




RAM 






34 



31 



PROCESSOR 



35 



CRYPTO 



37 



KEYBOARD 
HARDWARE 



10 

1 



46 

1 



FIG. 5 



WO 94/01821 



6/6 



PCT/US93/06511 




FIG. 6 



INTERNATIONAL SEARCH REPORT 



Intern *«onai Appueaaon No 

PCT/US 93/06511 



A. CLASSIFICATION OF SUBJECT MATTER 

IPC .5 G06F12/14 G06F1/00 




" r > 


According Co International Patent Classification (IPC) or to both national classification and IPC 




B. FIELDS SEARCHED 


Minimum documentation searched (classification system followed by dasaficanon symbols) 

IPC 5 G06F 


Documentation searched other than minimum documentauon to the extent that such documents are included in the fields searched 


Electronic data base consulted during the mtemaaonai search (name of data base and* where practical, search terms usee) 


C. DOCUMENTS CONSIDERED TO BE RELEVANT 


Category * 


Citation of document, with indication, where appropriate, of the relevant passages 


Relevant to daim Na 


Y 


EP,A,0 192 243 (HONEYWELL) 27 August 1986 

cited in the application 

see abstract; figures 3,4 

see page 18, line 16 - page 21, line 14 

see claims 1-10 


1-16 


P.Y 


W0,A,92 17958 (SECURE COMPUTING 

TECHNOLOGY) 15 October 1992 

cited in the application 

see abstract; figure 1 

see page 3, line 35 - page 6, line 16 

see page 7, line 22 - page 10 1 line 35 


1-16 






/~ 




j )(j Further documents arc listed tn the continuation of box C 


j)( [ Patent family members arc listed in annex* 


* Special c ate go net of ated documents : 

T later document published after the international filing date 

. A . ^ ^ i «/^.-._*^-u * or pnonty date and not in conflict with the application but 

A documem dc^g^tec jjrmeral *the art which is not cited to understand the principle or theory underlying the 

considered to be ot particular relevance invention 
•E* earlier document but published on or after the international *x* document of particular relevance; the claimed invention 

ruing dace cannot be considered novel or cannot be considered to 
'L' document which may throw doubts on pnonty daim(t) or involve an inventive step when the document is taken alone 

which is ated to establish the putticaaon date of another ~r document of particular relevance: the daimed invention 

citation or other special reason (as speaued) cannot be considered to involve an inventive step when the 
*0" document referring to an oral disdosure, use* exhibition or document is combined with one or more other such docu* 

other means ments, such combination being obvious to a person skilled 
*P* document published prior to the intematianal filing date hut in the art. 

later than (he pnonty date dauned *&* document member of the same patent family 


Date of the actual completion of the international search 

23 November 1993 


Date of mailing of the international search report 

07. 12.93 


Name and mailing address of the ISA 

European Patent Office, P.B. 5818 PatentUan I 
NL * 2280 HV Rijswijk 
Td. ( + 31-TO) 340-2040, Tz. 31 651 epo m. 
Fax: ( + 31-70) 340-3016 


Authorised officer 

POWELL, D 



Form PCT ASA/210 (tecond tti—Q (July IMD 



page 1 of 2 



INTERNATIONAL SEARCH REPORT 



International Application No 

PC7AJS 93/06511 



C.(CommuADon> DOCUMENTS CONSIDERED TO BE RELEVANT 



Caccgory * Ouaon of document, witn indication, where appropriate, ot the relevant passages 



j Rdevant to claim No. 



IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 4 
May 1992 , OAKLAND, US; 
pages 226 - 239 

J.EPSTEIN ET AL 'Evolution of a Trusted B3 
Window Prototype 1 
see figure 3 

see page 229, left column, line 1 - page 

230, right column, line 5 

see page 231, right column, line 23 - page 

232, left column, line 32 

see page 233, left column, line 5 - page 

234, left column, line 15 

PROC. FALL JOINT COMPUTER CONF., 25 
October 1987 , DALLAS, US; 
pages 411 - 420 

J.PICCIOTTO ET AL 'Privileges and Their 
Use by Trusted Applications 1 
see page 415, left column, line 23 - page 
419, left column, line 18 

EP,A,0 096 628 (DIGITAL EQUIPMENT 
CORPORATION) 21 December 1983 
see abstract; figure 1 

EP,A,0 443 423 (DIGITAL EQUIPMENT 
CORPORATION) 28 August 1991 
see abstract; figures 4A,4B 



3-5,8-13 



15,16 



13 



15,16 



Form PCT/lSA/110 (conunuauon of second iftect) (July 1992) 



page 2 of 2 



INTERNATIONAL SEARCH REPORT 

information on patent family manfaen 


International Application No 

PCT/US 93/06511 


Patent document 
cited in search report 


Publication 
due 


Patent family 
member(s) 


Publication 
date 

* 


EP-A-0192243 


27-08-86 


US-A- 4713753 


15-12-87 



CA-A- 
JP-A- 



1252907 
61195443 



18-04-89 
29-08-86 



W0-A-9217958 15-10-92 AU-A- 1576792 02-11-92 



EP-A-0096628 21-12-83 



US-A- 


4498098 


05-02-85 


AU-A- 


1501683 


08-12-83 


CA-A- 


1185377 


09-04-85 


JP-C- 


1628356 


20-12-91 


JP-B- 


2052911 


15-11-90 


JP-A- 


59057279 


02-04-84 



EP-A-0443423 28-08-91 AU-A- 7103191 15-08-91 



Fottn PCT/ISA/2I0 (patent family annex) (July 1992)